

f2 *= f7;


f4 = Math.sin( f10 / Math.max(.000000001,Math.abs(f3)) );


f10 = Math.max(f6,f12);


f0 = Math.min(f5,f12);


f7 = Math.sin( f15 / Math.max(.000000001,Math.abs(f2)) );


f7 += f14;
if(1 < f7) f7 -= 2;
else if(f7 < 1) f7 += 2;


f5 = Math.sin( f3 / Math.max(.000000001,Math.abs(f13)) );


f1 += f7;
if(1 < f1) f1 -= 2;
else if(f1 < 1) f1 += 2;


double tempFollow3Var = f16;
f16 = f12;
f12 = f4;
f4 = tempFollow3Var;


f11 = Math.sin( f5 / Math.max(.000000001,Math.abs(f10)) );





if(0 < f13){ 
	if(f9 < 0) f9 -= 2*f13*f9;
}else{ 
	if(0 < f9) f9 -= 2*f13*f9;
}


double tempFollow3Var = f4;
f4 = f14;
f14 = f7;
f7 = tempFollow3Var;


f2 = Math.sin( f15 / Math.max(.000000001,Math.abs(f4)) );


double tempFollow5Var = f5;
f5 = f12;
f12 = f15;
f15 = f7;
f7 = f9;
f9 = tempFollow5Var;


f8 = Math.max(f5,f7);

f10 *= f7;


f3 += f1;
if(1 < f3) f3 -= 2;
else if(f3 < 1) f3 += 2;

f16 *= f7;

f15 *= f16;


double tempFollow5Var = f10;
f10 = f9;
f9 = f6;
f6 = f16;
f16 = f15;
f15 = tempFollow5Var;


f11 = Math.max(f15,f8);









double radius = Math.sqrt(f16*f16 + f11*f11);
double angle = Math.asin(f11/Math.max(.000000001,radius));
if(f16 < 0) angle += Math.PI;
double speed = 1 / Math.max(.000000001, Math.abs(f4));
angle += f14*speed;
f16 = Math.max( -1., Math.min(radius*Math.cos(angle), 1.) );
f11 = Math.max( -1., Math.min(radius*Math.sin(angle), 1.) );


f8 = Math.sin( f1 / Math.max(.000000001,Math.abs(f9)) );




if(0 < f13){
	f2 *= 1 - f13;
	f2 += 0 < f0 ? f6 : f5;
}else{ 
	if(0 < f0){
		f6 *= 1 - (-f13);
		f6 += (-f13)*f2;
	}else{
		f5 *= 1 - (-f13);
		f5 += (-f13)*f2;
	}
}


double tempFollow5Var = f6;
f6 = f0;
f0 = f13;
f13 = f12;
f12 = f15;
f15 = tempFollow5Var;